﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace GrouponDesktop.AbmCliente
{
    public partial class AltaCliente : Form
    {

        private DataGridView dgv_ciudades = new DataGridView();

        public AltaCliente()
        {
            InitializeComponent();

            BDConnection.FillComboBox(cb_local, "select ciudad from CodingSpree.TL_CIUDADES");
            DataGridViewColumn ciudades = new DataGridViewColumn();
            DataGridViewCell cell = new DataGridViewTextBoxCell();
            ciudades.CellTemplate = cell;
            ciudades.Name = "ciudades";
            ciudades.ValueType = typeof(string);
            dgv_ciudades.Columns.Add(ciudades);
            tb_fechaNac.Format = DateTimePickerFormat.Custom;
            tb_fechaNac.CustomFormat = "yyyy-MM-dd";


        }

        private void b_alta_Click(object sender, EventArgs e)
        {

            string tb_user = tb_apellido.Text + '.' +  tb_nombre.Text;

            string query = "EXEC CodingSpree.existeusuario '" + tb_user + "'";
            string result = BDConnection.QueryAndExecuteScalarString(query);


            if (result == "1")
            {

                if (tb_apellido.Text != "" && tb_nombre.Text != "" && tb_dni.Text != "" && tb_mail.Text != "" && tb_telefono.Text != "" && tb_dir.Text != "" && cb_local.Text != "")
                {// NO INGRESO TODOS LOS DATOS

                    query = "EXEC CodingSpree.existeTelefono '" + tb_telefono.Text + "'";
                    result = BDConnection.QueryAndExecuteScalarString(query);

                    if (result == "1")
                    {

                        query = "EXEC CodingSpree.existeClon '" + tb_nombre.Text + "', '" + tb_apellido.Text + "', '" + tb_dni.Text + "', '" + tb_mail.Text + "'";
                        result = BDConnection.QueryAndExecuteScalarString(query);

                        if (result == "1")
                        {
                           
                            BDConnection.execute("EXEC CodingSpree.insertUser '" + tb_user + "', ' ', " + 1);

                            query = "EXEC CodingSpree.insertCliente '";
                            query = query + this.tb_nombre.Text + "','";
                            query = query + this.tb_apellido.Text + "', ";
                            query = query + this.tb_dni.Text + ",'";
                            query = query + this.tb_mail.Text + "', ";
                            query = query + this.tb_telefono.Text + ",'";
                            query = query + this.tb_fechaNac.Text + "','";
                            query = query + this.tb_dir.Text + "', ";
                            query = query + this.tb_piso.Text + ",'";
                            query = query + this.tb_dept.Text + "', ";
                            query = query + this.tb_cp.Text + ",'";
                            query = query + this.cb_local.Text + "'";
                            BDConnection.execute(query);

                            for (int i = 0; i < (this.dgv_ciudades.Rows.Count - 1); i++)
                            {

                                query = "EXEC CodingSpree.insertCiudXCli '";
                                query = query + dgv_ciudades.Rows[i].Cells[0].Value.ToString() + "'";

                                BDConnection.execute(query);
                            }

                            MessageBox.Show("Alta Efectuada");

                        }
                        else
                        { //EL USUARIO YA EXISTE DUPLICADO DNI, NOMBRE y APELLIDO


                            MessageBox.Show("Ya existe un usuario con el mismo dni, nombre y apellido.");


                        }

                    }
                    else
                    {

                        MessageBox.Show("Ya existe un usuario registrado con el telefono ingresado.");

                    }

                }
                else
                {

                    MessageBox.Show("Debe completar todos los campos");

                }    


            }
            else
            {
                MessageBox.Show("El usuario ya existe." + result);

            }

        }

        private void b_select_Click(object sender, EventArgs e)
        {
            BuscarReg br = new BuscarReg(this.dgv_ciudades, this.tb_ciudades);
            br.Show();
        }

       
    }
}
